home *** CD-ROM | disk | FTP | other *** search
- CHAPTER 3 - The simple Pascal data types
-
-
- Pascal has only 5 basic data types which are predefined
- and can be used anywhere you desire provided you use them
- properly. The five types and a very brief description
- follows;
-
- Integer The integers from -32768 to 32767
- Byte The integers from 0 to 255
- Real Floating point numbers from 1E-38 to 1E+38
- Boolean Can only have the value TRUE or FALSE
- Char Any character in the ASCII character set
-
- Please note that the Byte type of data is not a part of
- the standard Pascal definition but is included as an
- extension to the TURBO Pascal compiler.
-
- A complete definition of these can be found on pages 41
- and 42 of the TURBO Pascal reference manual (version 3.0).
- It would be good to read those two pages now for a good
- definition prior to our learning how to define and use them
- in a program. The integers are by far the easiest to
- understand so we will start with a simple program that uses
- some integers in a very simple way. Load INTVAR into your
- TURBO system and lets take a look at it.
-
- OUR FIRST VARIABLES
-
- Immediately following the PROGRAM statement is another
- reserved word, VAR. VAR is used to define a variable before
- it can be used anywhere in the program. There is an
- unbroken rule of Pascal that states "Nothing can be used
- until it is defined." The compiler will complain at you if
- you try to use a variable without properly defining it. It
- seems a bit bothersome to have to define every variable
- prior to its use but this rule will catch many spelling
- errors of variables before they cause trouble. Some other
- languages will simply define a new variable with the new
- name and go merrily on its way producing some well formatted
- garbage for you.
-
- Notice that there is only one VAR, but it is used to
- define three different variables, "count", "x", and "y".
- Once a VAR is recognized, the compiler will continue to
- recognize variable definitions line after line until it
- finds another reserved word. It would be permissible to put
- a VAR on the second line also but it is not necessary. It
- would also be permissible to put all three variables on one
- line but programming style will dictate where you put the
- three variables. Following the colon on each line is the
- word INTEGER which is a standard identifier which is
- different from a reserved word. An identifier is predefined
- like a reserved word but you can redefine it thereby losing
-
-
- Page 11
-
-
-
-
-
-
-
-
-
- CHAPTER 3 - The simple Pascal data types
-
-
- its original purpose and meaning. For now and for a long
- time, don't do that. Page 38 contains a list of identifiers.
-
- OUR FIRST ARITHMETIC
-
- Now that we have three variables defined as integer, we
- are free to use them in a program in any way we desire as
- long as we use them properly. If we tried to assign a REAL
- value to "x", the compiler will generate an error, once
- again preventing a garbage output. Observe the start of the
- main body of the program. There are three statements
- assigning values to "x", "y", and "count". A fine point of
- mathematics would state that "count" is only equal to the
- value of x+y until either was modified, therefore the equal
- sign used in so many other languages is not used here. The
- sign := is used, and can be read as "is replaced by the
- value of" when reading a listing to preserve the
- mathematical purity of Pascal. Another quicker way is to use
- the word "gets". Thus x := x + 1 would be read "x gets the
- value of x plus 1". We will see later that the simple equal
- sign is reserved for use in a different manner.
-
- The first three statements give "x" the value of 12, "y"
- the value of 13, and "count" the value of 12+13 or 25. We
- need to get those values out of the computer, so we need
- another extension to the WRITELN statement. The first part
- of the data within the parentheses should be familiar to you
- now, but the second part is new. Multiple outputs can be
- handled within one WRITELN if the fields are separated by a
- comma. To output a variable, simply write the variable's
- name in the output field. The number following the variable
- in each case is the number of output columns to be used by
- the output data. This number is optional and can be omitted
- allowing the system to use as many columns as it needs. For
- purposes of illustration they have all been assigned
- different numbers of columns. At this point, you can
- compile and run INTVAR to see its output.
-
- To illustrate the various ways to output data, load
- INTVAR2 and observe that even though the output is
- identical, it is output in a completely different manner.
- Observe especially that a WRITELN all by itself simply
- returns to the beginning of a new line on the video monitor.
- Compile and run this program also to observe its output.
-
- NOW LET'S USE LOTS OF VARIABLES
-
- Load ALLVAR to observe a short program using all 5 of
- the basic data types. The variables are simply assigned
- values and the values are printed. A complete and detailed
- description of the options available in the WRITE statement
-
-
- Page 12
-
-
-
-
-
-
-
-
-
- CHAPTER 3 - The simple Pascal data types
-
-
- is given in the TURBO reference manual on pages 111 through
- 113. It would be to your advantage to read this section at
- this time since very little explanation will be given about
- WRITE statements from this point on. We will discuss the
- method by which we can write to disk files or other output
- devices when the time comes.
-
- Back to the basic types. Pascal does lots of cross
- checking for obvious errors. It is illegal to assign the
- value of any variable with a value that is of the wrong type
- or outside the allowable range of that variable. There are
- routines to convert from one system to another when that is
- necessary. Suppose, for example, that you wished to use the
- value of an integer in a calculation of real numbers. That
- is possible by first converting the integer into a real
- number of the same value and using the new real variable in
- the desired calculations. The new real variable must of
- course be defined in a VAR as a real before it can be used.
- Details of how to do the conversion will be given later.
-
- Since we have some variables defined, it would be nice
- to use the properties of computers for which they are
- famous, namely some mathematics. Two programs are available
- for your observation to illustrate the various kinds of math
- available, REALMATH using real variables, and INTMATH using
- integer variables. You can edit, compile, and run these on
- your own with no comment from me except the comments
- embedded into the source files. Chapter 6 on pages 51 to 54
- of your TURBO reference manual completely defines the simple
- mathematics available.
-
- Byte is used just like integers but with a much smaller
- value. Only one byte of computer memory is used for each
- variable defined as byte but 2 are used for integer types.
-
- BOOLEAN VARIABLES
-
- Lets take a look at the boolean variable which is only
- allowed to take on two different values, TRUE or FALSE.
- This variable is used for loop controls, end of file
- indicators or any other TRUE or FALSE conditions in the
- program. Variables can be compared to determine a boolean
- value. An illustration is the best way to learn about the
- boolean variable so load BOOLMATH, observe, compile, and run
- it.
-
- Char is a very useful variable, but not all by itself.
- It is very powerful when used in an array or some other user
- defined data structure which is beyond the scope of this
- chapter. A very simple program, CHARDEMO is included to
- give you an idea of how a char variable can be used.
-
-
- Page 13
-
-
-
-
-
-
-
-
-
- CHAPTER 3 - The simple Pascal data types
-
-
- Observe and run CHARDEMO for a very brief idea of what the
- char variable is all about.
-
- Examine the sample program CONVERT for several examples
- of converting data from one simple variable to another. The
- program is self explanatory.
-
-
- PROGRAMMING EXERCISE
-
- 1. Write a program containing several variable definitions
- and do some math on them, printing out the results.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 14